import pubsub from "pubsub-js"
import request from "../../utils/request"
Page({

    /**
     * 页面的初始数据
     */
    data: {
        // 今日月份
        month: '',
        // 今天几号
        day: '',
        // 推荐歌曲列表
        recommendSongList: [],
        // 音乐列表每首歌对应的Id
        musicId: '',
        // 音乐下标
        index: ''

    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function(options) {
        this.setData({
            day: new Date().getDate(),
            month: new Date().getMonth() + 1
        })

        this.getRecommendSong()

        // 订阅来自songDetail页面发布的消息
        pubsub.subscribe('switchType', (msg, type) => {
            // console.log(msg, type);
            let { recommendSongList, index } = this.data
                // console.log(recommendSongList);
            console.log(this.data.index);
            if (type === 'pre') {

                (index === 0) && (index = recommendSongList.length)
                index -= 1

            } else {
                (index === recommendSongList.length - 1) && (index = -1)
                index += 1
            }
            this.setData({
                    index
                })
                // console.log(index);
            let musicId = recommendSongList[this.data.index].id
                // console.log(musicId);
            pubsub.publish('musicId', musicId)
        })
    },


    // 获取每日推荐歌曲
    async getRecommendSong() {
        let recommendSongData = await request("/recommend/songs")
        console.log(recommendSongData);
        this.setData({
            recommendSongList: recommendSongData.recommend
        })
    },

    // 下拉加载更多
    loadMore() {
        console.log('加载更多');
    },

    // 点击跳转到音乐播放页面详情
    toSongDetail(event) {
        console.log(event);
        let { index, song } = event.currentTarget.dataset

        this.setData({
            index
        })

        wx.navigateTo({
            url: "/pages/songdetail/songdetail?musicId=" + song.id
        })
    },



    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function() {

    }
})